package com.hiyee.pojo;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

@Table(name = "b2c_cart_item")
public class CartItem {
    /**
     * 购物车明细ID
     */
    @Id
    @Column(name = "item_id")
    private Long itemId;

    /**
     * 购物车ID
     */
    @Column(name = "cart_id")
    private Long cartId;

    /**
     * 货品ID
     */
    @Column(name = "goods_id")
    private Long goodsId;

    /**
     * 商品ID
     */
    @Column(name = "product_id")
    private Long productId;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 商品编号
     */
    @Column(name = "goods_bn")
    private String goodsBn;

    /**
     * 商品数量
     */
    @Column(name = "qty_ordered")
    private Integer qtyOrdered;

    /**
     * 商品单价
     */
    private BigDecimal price;

    /**
     * 商品单位
     */
    private String unit;

    /**
     * 总金额
     */
    @Column(name = "total_amount")
    private BigDecimal totalAmount;

    /**
     * 是否选中
     */
    @Column(name = "is_selected")
    private Integer isSelected;

    /**
     * 规格
     */
    private String specs;

    /**
     * 商品图片
     */
    @Column(name = "image_url")
    private String imageUrl;

    /**
     * 是否赠品
     */
    @Column(name = "is_gift")
    private Boolean isGift;

    /**
     * 重量
     */
    private BigDecimal weight;

    /**
     * 创建时间
     */
    @Column(name = "created_at")
    private Date createdAt;

    /**
     * 更新时间
     */
    @Column(name = "updated_at")
    private Date updatedAt;

    /**
     * 获取购物车明细ID
     *
     * @return item_id - 购物车明细ID
     */
    public Long getItemId() {
        return itemId;
    }

    /**
     * 设置购物车明细ID
     *
     * @param itemId 购物车明细ID
     */
    public void setItemId(Long itemId) {
        this.itemId = itemId;
    }

    /**
     * 获取购物车ID
     *
     * @return cart_id - 购物车ID
     */
    public Long getCartId() {
        return cartId;
    }

    /**
     * 设置购物车ID
     *
     * @param cartId 购物车ID
     */
    public void setCartId(Long cartId) {
        this.cartId = cartId;
    }

    /**
     * 获取货品ID
     *
     * @return goods_id - 货品ID
     */
    public Long getGoodsId() {
        return goodsId;
    }

    /**
     * 设置货品ID
     *
     * @param goodsId 货品ID
     */
    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    /**
     * 获取商品ID
     *
     * @return product_id - 商品ID
     */
    public Long getProductId() {
        return productId;
    }

    /**
     * 设置商品ID
     *
     * @param productId 商品ID
     */
    public void setProductId(Long productId) {
        this.productId = productId;
    }

    /**
     * 获取商品名称
     *
     * @return name - 商品名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置商品名称
     *
     * @param name 商品名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取商品编号
     *
     * @return goods_bn - 商品编号
     */
    public String getGoodsBn() {
        return goodsBn;
    }

    /**
     * 设置商品编号
     *
     * @param goodsBn 商品编号
     */
    public void setGoodsBn(String goodsBn) {
        this.goodsBn = goodsBn;
    }

    /**
     * 获取商品数量
     *
     * @return qty_ordered - 商品数量
     */
    public Integer getQtyOrdered() {
        return qtyOrdered;
    }

    /**
     * 设置商品数量
     *
     * @param qtyOrdered 商品数量
     */
    public void setQtyOrdered(Integer qtyOrdered) {
        this.qtyOrdered = qtyOrdered;
    }

    /**
     * 获取商品单价
     *
     * @return price - 商品单价
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * 设置商品单价
     *
     * @param price 商品单价
     */
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    /**
     * 获取商品单位
     *
     * @return unit - 商品单位
     */
    public String getUnit() {
        return unit;
    }

    /**
     * 设置商品单位
     *
     * @param unit 商品单位
     */
    public void setUnit(String unit) {
        this.unit = unit;
    }

    /**
     * 获取总金额
     *
     * @return total_amount - 总金额
     */
    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    /**
     * 设置总金额
     *
     * @param totalAmount 总金额
     */
    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    /**
     * 获取是否选中
     *
     * @return is_selected - 是否选中
     */
    public Integer getIsSelected() {
        return isSelected;
    }

    /**
     * 设置是否选中
     *
     * @param isSelected 是否选中
     */
    public void setIsSelected(Integer isSelected) {
        this.isSelected = isSelected;
    }

    /**
     * 获取规格
     *
     * @return specs - 规格
     */
    public String getSpecs() {
        return specs;
    }

    /**
     * 设置规格
     *
     * @param specs 规格
     */
    public void setSpecs(String specs) {
        this.specs = specs;
    }

    /**
     * 获取商品图片
     *
     * @return image_url - 商品图片
     */
    public String getImageUrl() {
        return imageUrl;
    }

    /**
     * 设置商品图片
     *
     * @param imageUrl 商品图片
     */
    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    /**
     * 获取是否赠品
     *
     * @return is_gift - 是否赠品
     */
    public Boolean getIsGift() {
        return isGift;
    }

    /**
     * 设置是否赠品
     *
     * @param isGift 是否赠品
     */
    public void setIsGift(Boolean isGift) {
        this.isGift = isGift;
    }

    /**
     * 获取重量
     *
     * @return weight - 重量
     */
    public BigDecimal getWeight() {
        return weight;
    }

    /**
     * 设置重量
     *
     * @param weight 重量
     */
    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    /**
     * 获取创建时间
     *
     * @return created_at - 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置创建时间
     *
     * @param createdAt 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取更新时间
     *
     * @return updated_at - 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置更新时间
     *
     * @param updatedAt 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }
}